/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bgu.ppm.sim.api.red;

import bgu.ppm.sim.api.mas.Model;
import bgu.ppm.sim.api.env.Environment;
import bgu.ppm.sim.api.exec.TickBasedExecutable;
import bgu.sonar.util.ui.visual.HasVisualData;

/**
 *
 * @author User
 */
public interface Reduction<T extends Model> extends HasVisualData, TickBasedExecutable<Void> {


    Class<T> getTargetType();

    /**
     * @param env
     */
    T reduce(Environment env);
}
